﻿namespace Production.CommonLib.Models
{
    public class ProductionPlanEditRequestDto
    {
        /// <summary>
        /// 生产计划编码
        /// </summary>
        public string? Code { get; set; }

        /// <summary>
        /// 生产计划名称
        /// </summary>
        public string? Name { get; set; }

        /// <summary>
        /// 销售订单标识
        /// </summary>
        public Guid? OrderId { get; set; }

        /// <summary>
        /// 销售订单编码
        /// </summary>
        public string? OrderCode { get; set; }

        /// <summary>
        /// 生产计划类型
        /// </summary>
        public int PlanType { get; set; }

        /// <summary>
        /// 单据日期
        /// </summary>
        public DateTime DocketDate { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public int DocketStatus { get; set; }

        public int StandardBomId => StandardBom.Id;

        public string? StandardBomCode => StandardBom.Code;

        public string? StandardBomName => StandardBom.Name;

        public StandardBomInfoResponseDto StandardBom { get; set; } = new();

        public int TechnologyId => Technology.Id;

        /// <summary>
        /// 生产工艺
        /// </summary>
        public TechnologyInfoResponseDto Technology { get; set; } = new();

        /// <summary>
        /// 预期开始时间
        /// </summary>
        public DateTime? ExpectStartDate { get; set; }

        /// <summary>
        /// 预期结束时间
        /// </summary>
        public DateTime? ExpectEndDate { get; set; }

        /// <summary>
        /// 优先级
        /// </summary>
        public int PriorityLevel { get; set; }

        /// <summary>
        /// 排程类型
        /// </summary>
        public int ScheduleType { get; set; } = 1;

        /// <summary>
        /// 
        /// </summary>
        public double Quality { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string? Description { get; set; }

    }
}